package com.qdxwx.data.service.article;

import com.qdxwx.common.page.PageRequest;
import com.qdxwx.models.article.Article;
import com.qdxwx.models.article.ArticleQuery;

import java.util.List;

/**
 * Qdx NetSchool Platform
 * @author qdxwx
 * @updateTime 2022/5/25
 * @description
 */
public interface ArticleService {
	/**
	 * 创建文章
	 *
	 * @param article 文章实体
	 */
	int insert(Article article);

	/**
	 * 修改文章信息
	 *
	 * @param article 文章实体
	 */
	int update(Article article);

	/**
	 * 删除文章
	 */
	int delete(int articleId);

	/**
	 * 通过文章ID查询文章信息
	 */
	Article get(int articleId);

	/**
	 * 公共多条件查询文章资讯列表,用于前台
	 */
	List<Article> getList(ArticleQuery query, int limit);

	/**
	 * 分页查询文章列表
	 */
	List<Article> getList(ArticleQuery query, PageRequest page);

	/**
	 * 获取所有文章总记录数
	 *
	 * @return 总记录数
	 */
	int count(ArticleQuery query);


	int updateViewCount(int articleId);

	int updatePraiseCount(int articleId);

	int updateCommentCount(int articleId);
}
